// pages/family/family.js
import request from '../../utils/request';
Page({

  /**
   * 页面的初始数据
   */
  data: {
    familyList: [], // 存储接口返回的家人列表
    wxUserId: ''    // 登录用户全局ID（从全局变量获取）
  },
  getFamilyList() {
    const app = getApp();
    const wxUserId = app.globalData.userId;
    const token = getApp().globalData.token || wx.getStorageSync('token');
    wx.request({
      url: 'http://localhost:8080/le/elderly/list/family',
      method: 'GET',
      data: { wxUserId: wxUserId },
      header: {
        'Authorization': 'Bearer ' + token
      },
      success: (res) => {
        if (res.data.code === 200) {
          // 处理床位展示文本
          const familyList = res.data.data.map(item => {
            let bedShowText = '无'; // 默认显示"无"
            
            // 判断是否有床位信息
            if (item.bedNo && item.roomNo && item.roomType) {
              // 有完整床位信息，拼接显示
              bedShowText = `${item.roomType}${item.roomNo}   ${item.bedNo}床`;
            } else if (item.bedNo) {
              // 只有床位号
              bedShowText = `${item.bedNo}床`;
            }
            
            return {
              ...item,
              bedShowText: bedShowText,
              relation: item.relation || '家属' // 使用接口返回的关系，没有则默认"家属"
            };
          });
          this.setData({ familyList }); // 将数据赋值给页面变量
        } else {
          wx.showToast({ title: res.data.msg || '获取数据失败', icon: 'none' });
        }
      },
      fail: (err) => {
        console.error('请求失败：', err);
        wx.showToast({ title: '网络错误', icon: 'none' });
      }
    });
  },
  /**
   * 跳转到绑定家人页面
   */
  toBang: function() {
    wx.navigateTo({
      url: '/pages/family/familyBang/familyBang'
    })
  },

  /**
   * 跳转到我的账单页面
   */
  toBill: function(e) {
    const elderlyId = e.currentTarget.dataset.elderlyid;
    wx.navigateTo({
      url: `/pages/my/zhangdan/zhangdan?elderlyId=${elderlyId}`
    })
  },

  /**
   * 解绑家人
   */
  unbindFamily: function(e) {
    const that = this;
    // 注意：小程序会将 data-bindingId 转换为小写的 bindingid
    const bindingId = e.currentTarget.dataset.bindingid;
    const wxUserId = this.data.wxUserId;

    console.log('解绑参数：', { bindingId, wxUserId });

    if (!bindingId) {
      wx.showToast({
        title: '绑定ID不存在',
        icon: 'none'
      });
      return;
    }

    if (!wxUserId) {
      wx.showToast({
        title: '请先登录',
        icon: 'none'
      });
      return;
    }

    // 显示确认弹窗
    wx.showModal({
      title: '确认解绑',
      content: '解绑后将无法查看该家人的相关信息，确定要解绑吗？',
      confirmText: '确定解绑',
      cancelText: '取消',
      success: function(res) {
        if (res.confirm) {
          // 用户确认解绑，调用接口
          that.processUnbind(bindingId, wxUserId);
        }
      }
    });
  },

  /**
   * 处理解绑操作
   */
  processUnbind: function(bindingId, wxUserId) {
    const that = this;

    wx.showLoading({
      title: '解绑中...',
    });

    request({
      url: `/le/wx/binding/unbind?bindingId=${bindingId}&wxUserId=${wxUserId}`,
      method: 'POST',
      success: (res) => {
        console.log('解绑返回：', res);
        wx.hideLoading();

        if (res.statusCode === 200 && res.data.code === 200) {
          wx.showToast({
            title: '解绑成功',
            icon: 'success',
            duration: 2000
          });

          // 延迟刷新家人列表
          setTimeout(() => {
            that.getFamilyList();
          }, 2000);
        } else {
          wx.showToast({
            title: res.data.msg || '解绑失败',
            icon: 'none'
          });
        }
      },
      fail: (err) => {
        console.error('解绑失败：', err);
        wx.hideLoading();
        wx.showToast({
          title: '网络请求失败',
          icon: 'none'
        });
      }
    });
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.getFamilyList(); 
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    // 1. 获取全局登录用户ID（从app.js的globalData中获取）
    const app = getApp();
    this.setData({
      wxUserId: app.globalData.userId
    });

    // 2. 若已登录，调用接口查询数据
    if (this.data.wxUserId) {
      this.getFamilyList();
    } else {
      // 未登录：提示并跳转登录页
      wx.showToast({
        title: '请先登录',
        icon: 'none'
      });
      setTimeout(() => {
        wx.navigateTo({
          url: '/pages/my/myindex/myindex' // 登录页路径
        });
      }, 1500);
    }
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})